﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//https://techfanyi.blog.csdn.net/article/details/132218698
//list允许有重复元素
namespace LeetCode100Hot.数据结构的学习
{
    public class list链表
    {
    }

    class ProgramList
    {
        static void MainList(string[] args)
        {
            List<int> list = new List<int>();//1，新建一个链表
       
            List<int> list2 = new List<int>(3);//新建一个链表,大小Capacity为3

            //2. 添加元素
            //list.Add(1);
            //list.Add(3);
            list2.Add(2);
            list2.Add(2);
            list2.Add(3);
            list2.Add(2);
            // 使用for循环遍历列表
            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i]);
            } for (int i = 0; i < list2.Count; i++)
            {
                Console.WriteLine(list2[i]);
            }
            Console.WriteLine("删除元素");
            //3.删除元素
            list.Remove(1);
            list2.Remove(2);
            list2.RemoveAt(2);
            for (int i = 0; i < list2.Count; i++)
            {
                Console.WriteLine(list2[i]);
            }
            Console.WriteLine("清空");
            list2.Clear();
            for (int i = 0; i < list2.Count; i++)
            {
                Console.WriteLine(list2[i]);
            }

            list2.Add(1);
            list2.Add(2);
            list2.Add(3);
            list2.Add(4);

            //4. 查找元素
            if (list2.Contains(1))
            {
                Console.WriteLine("list2含有1");
            }
            Console.WriteLine("list2里面2在第几个位置"+list2.IndexOf(2));
            // 遍历List<T>
            Console.WriteLine(". 遍历List<T>");
            foreach(int num in list2)
            {
                Console.WriteLine(num);
            }

            Console.WriteLine("Count属性用于获取列表中元素的个数。"+list2.Count);

            list2.ToArray();
        }
    }







}
